// house_pkg/pages/locate/index.ts

// key------4MQBZ-36IKJ-254FO-KN4XX-BKXIH-WRBNJ
import qqmap from '../../../utils/qqmap'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    address: '',
    points: {}
  },

  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad() {
    const { latitude, longitude } = await wx.getLocation({})
    // console.log(16, res);

    // 调用逆地址  并传入参数  ,解构赋值
    this.reverseGeocoder(latitude, longitude)
  },

  // 封装地图  逆地址解析功能
  reverseGeocoder(latitude, longitude) {
    // 调用它的方法 来实现  逆地址解析
    qqmap.reverseGeocoder({
      location: {
        latitude,
        longitude,
      },
      success: (geoResult) => {
        console.log('成功')
        console.log(geoResult)
        this.setData({
          address: geoResult.result.address
        })

        // 根据当前地理位置，来获取附近的住宅小区
        qqmap.search({
          keyword: '小区',
          location: {
            latitude,
            longitude,
          },
          success: (searchResult) => {
            console.log(searchResult);
            this.setData({
              // 为了提高性能，我们通过遍历数组，把数组里面的对象属性需要的留下来即可
              points: searchResult.data.map(item => ({ id: item.id, title: item.title }))
            })
          },
          fail: (searchErr) => {
            console.log(searchErr);
          }
        })
      },
      fail: (err) => {
        console.log('失败')
        console.log(err)
      },
    })
  },

  // 点击重新定位
  async onChooseAddress() {
    // 这一步和上面不是同一个数据，调用的接口不一样
    // 这里解构，把res.latitude和res.longitude数据赋给这两个值
    const { latitude, longitude } = await wx.chooseLocation({})
    this.reverseGeocoder(latitude, longitude)
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})